#ifndef _RENZO_VERTEX_BUFFER_GL
#define _RENZO_VERTEX_BUFFER_GL

#include "RenzoMustHaveGL.h"
#include "RenzoVertexBuffer.h"

/*
 @description
 VertexBufferGL uses Vertex Buffer Object (VBO) extension in OpenGL to store all vertices in GPU memory.
 */
namespace Renzo
{
class VertexBufferGL : public VertexBuffer
{
public:
	VertexBufferGL(void);
	virtual ~VertexBufferGL(void);

	/*
	Copy cached vertices to graphic hardware memory
	*/
	void copyToHardware();

	/*
	Set all client pointers for rendering
	*/
	void render();
private:
	GLuint vbo;
	GLuint ibo;
};
}

#endif